de.cebis.moccabox.application.impl.hibernate
Class TaskContextManager

java.lang.Object
  extended by de.cebis.moccabox.application.impl.hibernate.TaskContextManager
All Implemented Interfaces:
ITaskContextManager

public class TaskContextManager
extends java.lang.Object
implements ITaskContextManager

Der TaskContextManager wird durch Spring instantiiert und über die moccabox.xml (siehe Snippet unten) spezifiziert. Er dient der Verwaltung des TaskContext. Für die Bearbeitung eines Request bestimmt diese Verwaltungskomponente, welcher TaskContext aktiviert werden und instantiiert den zugehörigen Vorgang. Findet der Vorgang innerhalb eines bereits für den Anwender instantiierten Kontextes statt, so wird dieser nicht erneut instantiiert, sondern lediglich aktualisiert (rebuilt). Desweiteren kapselt der TaskContextManager die Schnittstelle zum Persistenz-Framework.

 <bean id="CONTEXT.MANAGER" class="de.cebis.moccabox.application.impl.hibernate.TaskContextManager">
  <property name="repositoryManager"><ref bean="REPOSITORY.MANAGER"/></property>
  <property name="entityFactory"><ref bean="SESSIONFACTORY"/></property>
  <property name="metaSystem"><ref bean="METASYSTEM"/></property>
 </bean>

Author:
weichelt
See Also:
TaskContext

Constructor Summary
TaskContextManager()
          Parameterloser Konstruktor zum Erzeugen eines neuen TaskContextManager.
 
Method Summary
 IBusinessTask activateBusinessTask(BusinessTaskBean taskBean)
          Zurückliefern des aktivierten Vorgangsobjektes (IBusinessTask), das mit der Durchführung des entsprechenden Request innerhalb des aktiven Kontextes beauftragt wird.
 ITaskContext activateTaskContext(IClient client, ITaskRequest request)
          Zurückliefern des aktivierten Kontextes für die Ausführung eines übergebenen ITaskRequest für einen bestimmten Anwender (IClient), der diesen Request abgesetzt hat.
protected  ITaskContext buildTaskContext(ITaskRequest request)
           
 void deleteTaskContextForClient(IClient client)
          Löscht den ITaskContext für den Anwender, der aus dem internen Speicher des ITaskContextManager entfernt wird.
 java.lang.Object getEntityFactory()
          Zurückgeben der ConceptFactory, die für die Persistierung und das Auslesen von Konzepten aus der Datenbasis ist.
 IMetaSystem getMetaSystem()
          Zurückliefern des IntegrityMonitor, der für die Einhaltung der semantischen Integrität bei der Persistierung von Konzepten nach der Durchführung von Vorgängen zuständig ist.
 IRepositoryManager getRepositoryManager()
          Zurückliefern der Verwaltungskomponente des Repository.
protected  ITaskContext rebuildTaskContext(ITaskContext context, ITaskRequest request)
           
 void setEntityFactory(java.lang.Object entityFactory)
          Setzen der Schnittstelle zum Persistenz-Framework.
 void setMetaSystem(IMetaSystem metaSystem)
          Setzen des Integritätsmonitors.
 void setRepositoryManager(IRepositoryManager repositoryManager)
          Setzen des RepositoryManager, der den Zugriff auf das IRepository ermöglicht und damit den Zugriff auf die Anwendungsdaten.
protected  void setupTaskContext(ITaskContext tContext, ITaskRequest request)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TaskContextManager

public TaskContextManager()
Parameterloser Konstruktor zum Erzeugen eines neuen TaskContextManager.

Method Detail

activateTaskContext

public ITaskContext activateTaskContext(IClient client,
                                        ITaskRequest request)
Description copied from interface: ITaskContextManager
Zurückliefern des aktivierten Kontextes für die Ausführung eines übergebenen ITaskRequest für einen bestimmten Anwender (IClient), der diesen Request abgesetzt hat.

Specified by:
activateTaskContext in interface ITaskContextManager
Parameters:
client - Klient, der den Request abgesetzt hat.
request - Request, der zu bearbeiten ist.
Returns:
Aktiviertes Objekt, das ITaskContext implementiert, und für die Durchführung des Request zuständig ist.

activateBusinessTask

public IBusinessTask activateBusinessTask(BusinessTaskBean taskBean)
Description copied from interface: ITaskContextManager
Zurückliefern des aktivierten Vorgangsobjektes (IBusinessTask), das mit der Durchführung des entsprechenden Request innerhalb des aktiven Kontextes beauftragt wird. Je nachdem, ob das Vorgangsobjekt bereits im ITaskContext vorhanden ist, wird es neu instantiiert oder nicht. Im Falle der Neu-Intantiierung wird dafür auf das IRepository zurückgegriffen, das die Informationen über die Anwendung enthält.

Specified by:
activateBusinessTask in interface ITaskContextManager
Parameters:
taskBean - Die Repräsentation des Vorgangsobjektes, das mit der Bearbeitung des Requests beauftragt werden soll.
Returns:
IBusinessTask implementierendes Objekt, dass mit der Durchführung beauftragt werden kann.

deleteTaskContextForClient

public void deleteTaskContextForClient(IClient client)
Description copied from interface: ITaskContextManager
Löscht den ITaskContext für den Anwender, der aus dem internen Speicher des ITaskContextManager entfernt wird. Alle Kontext müssen beim erneuten Aufruf durch den Anwender instantiiert werden. Beim Abmelden des Anwenders vom System absolut notwendig.

Specified by:
deleteTaskContextForClient in interface ITaskContextManager
Parameters:
client - Der Anwender, der abgemeldet wurde.

setEntityFactory

public void setEntityFactory(java.lang.Object entityFactory)
Setzen der Schnittstelle zum Persistenz-Framework.

Parameters:
entityFactory - Schnittstelle zum Peristenz-Rahmenwerk.

getEntityFactory

public java.lang.Object getEntityFactory()
Zurückgeben der ConceptFactory, die für die Persistierung und das Auslesen von Konzepten aus der Datenbasis ist. Sie stellt die Schnittstelle zum darunter liegenden Persistenz-Rahmenwerk dar. Es kann sich dabei um eine JDBC-Connection, eine Hibernate SessonFactory oder einen Java Persistence Entity Manager handeln.

Returns:
Schnittstelle zum Peristenz-Rahmenwerk

getRepositoryManager

public IRepositoryManager getRepositoryManager()
Description copied from interface: ITaskContextManager
Zurückliefern der Verwaltungskomponente des Repository. Über den IRepositoryManager kann auf das zu Grunde liegende IRepository der Anwendung zugegriffen werden.

Specified by:
getRepositoryManager in interface ITaskContextManager
Returns:
Repository-Verwaltungskomponente.

setRepositoryManager

public void setRepositoryManager(IRepositoryManager repositoryManager)
Setzen des RepositoryManager, der den Zugriff auf das IRepository ermöglicht und damit den Zugriff auf die Anwendungsdaten.

Parameters:
repositoryManager - Schnittstelle zu den Anwendungsdaten.

buildTaskContext

protected ITaskContext buildTaskContext(ITaskRequest request)

rebuildTaskContext

protected ITaskContext rebuildTaskContext(ITaskContext context,
                                          ITaskRequest request)

setupTaskContext

protected void setupTaskContext(ITaskContext tContext,
                                ITaskRequest request)

getMetaSystem

public IMetaSystem getMetaSystem()
Description copied from interface: ITaskContextManager
Zurückliefern des IntegrityMonitor, der für die Einhaltung der semantischen Integrität bei der Persistierung von Konzepten nach der Durchführung von Vorgängen zuständig ist. Der IntegrityMonitor ist die Schnittstelle zur Datenbasis des Anwendungssystems.

Specified by:
getMetaSystem in interface ITaskContextManager
Returns:
Die Persistenzschnittstelle der Anwendung.

setMetaSystem

public void setMetaSystem(IMetaSystem metaSystem)
Setzen des Integritätsmonitors.

Parameters:
metaSystem - Der Integritätsmonitor.